package com.ce.pms.occupation.service;

import java.util.List;

import com.ce.pms.base.service.IPmsBaseService;
import com.ce.pms.occupation.model.InspecteRequisiteDO;
import com.ce.pms.occupation.vo.InspecteRequisiteVO;

/**
 * 验房登记Service
 * @author 王浩羽
 *
 */
public interface IInspecteRequisiteService extends IPmsBaseService
{
	   /**
	    * 新增验房申请
	    * @param inspecteRequisiteVO - 新增验房VO
	    * @return InspecteRequisiteVO
	    * @roseuid 494B453B034B
	    */
	   public InspecteRequisiteVO addInspecteRequisite(InspecteRequisiteVO inspecteRequisiteVO);

	   /**
	    * 修改验房登记
	    * @param inspecteRequisiteVO - 修改验房登记VO
	    * @return InspecteRequisiteVO
	    * @roseuid 494B4626036B
	    */
	   public InspecteRequisiteVO editInspecteRequisite(InspecteRequisiteVO inspecteRequisiteVO);

	   /**
	    * 删除验房登记
	    * @param inspecteRequisiteId - 删除验房登记ID
	    * @roseuid 494B4B6A00FA
	    */
	   public void deleteInspecteRequisite(Long inspecteRequisiteId);

	   /**
	    * 获得指定验房登记ID的详细信息,包括对应的整改项目信息
	    * @param inspecteRequisiteId - 验房登记ID
	    * @return OccInspectRequisitionVO
	    * @roseuid 494B4C4B036B
	    */
	   public InspecteRequisiteVO getInspectRequisitionDetail(Long inspecteRequisiteId);

	   /**
	    * 功能描述:根据房屋ID查找验房登记  <br>
	    * @param houseId
	    * @return
	    * Create author: 王浩羽 <br>
	    * Create on:Jan 9, 2009  <br>
	    * Edit author:  <br>
	    * Edit on:    <br>
	    * Why:     <br>
	    */
	   public List<InspecteRequisiteVO> queryInspecteRequisiteByHouseId(Long houseId);


	   /**
	    * 功能描述: 根据认证Id查找验房列表<br>
	    * @param identityValidateId
	    * @return
	    * Create author: 王浩羽 <br>
	    * Create on:Jan 12, 2009  <br>
	    * Edit author:  <br>
	    * Edit on:    <br>
	    * Why:     <br>
	    */
	   public List<InspecteRequisiteVO> queryInspecteRequisiteByIdentityValidateId(Long identityValidateId);

	   /**
	    * 功能描述: 是否允许添加验房登记 <br>
	    * @param identityValidateId
	    * @return
	    * Create author: 王浩羽 <br>
	    * Create on:Jan 13, 2009  <br>
	    * Edit author:  <br>
	    * Edit on:    <br>
	    * Why:     <br>
	    */
	   public boolean isAllowAddInspecteRequisite(Long identityValidateId);

	   /**
	    * 功能描述: 是否允许修改验房登记 <br>
	    * @param inspecteRequisiteId
	    * @return
	    * Create author: 王浩羽 <br>
	    * Create on:Jan 13, 2009  <br>
	    * Edit author:  <br>
	    * Edit on:    <br>
	    * Why:     <br>
	    */
		public InspecteRequisiteDO isAllowEditInspecteRequisite(Long inspecteRequisiteId);

		/**
		 * 功能描述: 是否允许删除验房登记 <br>
		 * @param inspecteRequisiteId
		 * @return
		 * Create author: 王浩羽 <br>
		 * Create on:Jan 13, 2009  <br>
		 * Edit author:  <br>
		 * Edit on:    <br>
		 * Why:     <br>
		 */
		public boolean isAllowDeleteInspecteRequisite(Long inspecteRequisiteId);
}
